/**
 * jims
 */
package com.jims.master.modules.base.user.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jims.master.common.persistence.DataEntity;
import org.hibernate.validator.constraints.Length;

import java.util.Date;

/**
 * 用户信息表Entity
 *  @author jict
 * @version 2017-11-15
 */
public class MasterBaseinfo extends DataEntity<MasterBaseinfo> {

    private static final long serialVersionUID = 1L;
    private String healthCard;		// 城乡居民健康档案编号
    private String idCard;		// 身份证号
    private String idcardCode;		// 身份证件类别代码
    private String area;		// 地区编号
    private String citizenship;		// 国籍
    private String height;		// 身高
    private String weight;		// 体重
    private String edulevel;		// 文化程度
    private String insurance;		// 医保类型
    private String job;		// 职业类别
    private String married;		// 婚姻状况
    private String name;		// 姓名
    private String nation;		// 名族
    private String sex;		// 性别
    private String age;		// 年龄
    private Date birthDate;		// 出生日期
    private String birthDateStr;		// 出生日期
    private String areaType;		// 所在地区类型
    private String cardType;		// 证件类型
    private String headPath;		// 头像图片路径
    private String areaDetail;		// 详细地址
    private String healthshow;		// 健康记录显示
    private String myhistory;		// 个人史
    private String myfamilyhistory;		// 家族史
    private String myvaccinehistory;		// 预防接种史
    private String myplayhistory;		// 预防接种史
    private String hisloginname;		// HIS_login_name
    private String isDrugAllergy;		// 药物过敏史标志
    private String isOperHistory;		// 手术史标志
    private String isHistoryTrauma;		// 外伤史标志
    private String isBloodHistory;		// 输血史标志
    private String isHeredDisease;		// 遗传性疾病史标志
    private MasterContactinfo masterContactinfo; //基本信息子表

    private MasterDoctorinfo masterDoctorinfo; //基本信息子表


    public MasterContactinfo getMasterContactinfo() {
        return masterContactinfo;
    }

    public void setMasterContactinfo(MasterContactinfo masterContactinfo) {
        this.masterContactinfo = masterContactinfo;
    }
    public MasterDoctorinfo getMasterDoctorinfo() {
        return masterDoctorinfo;
    }

    public void setMasterDoctorinfo(MasterDoctorinfo masterDoctorinfo) {
        this.masterDoctorinfo = masterDoctorinfo;
    }

    public MasterBaseinfo() {
        super();
    }

    public MasterBaseinfo(String id){
        super(id);
    }

    public String getHeight() {
        return height;
    }

    public void setHeight(String height) {
        this.height = height;
    }

    public String getWeight() {
        return weight;
    }

    public void setWeight(String weight) {
        this.weight = weight;
    }

    @Length(min=0, max=17, message="城乡居民健康档案编号长度必须介于 0 和 17 之间")
    public String getHealthCard() {
        return healthCard;
    }

    public void setHealthCard(String healthCard) {
        this.healthCard = healthCard;
    }

    @Length(min=0, max=18, message="身份证号长度必须介于 0 和 18 之间")
    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    @Length(min=0, max=1, message="身份证件类别代码长度必须介于 0 和 1 之间")
    public String getIdcardCode() {
        return idcardCode;
    }

    public void setIdcardCode(String idcardCode) {
        this.idcardCode = idcardCode;
    }

    @Length(min=0, max=64, message="地区编号长度必须介于 0 和 64 之间")
    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    @Length(min=0, max=64, message="国籍长度必须介于 0 和 64 之间")
    public String getCitizenship() {
        return citizenship;
    }

    public void setCitizenship(String citizenship) {
        this.citizenship = citizenship;
    }

    @Length(min=0, max=64, message="文化程度长度必须介于 0 和 64 之间")
    public String getEdulevel() {
        return edulevel;
    }

    public void setEdulevel(String edulevel) {
        this.edulevel = edulevel;
    }

    @Length(min=0, max=64, message="医保类型长度必须介于 0 和 64 之间")
    public String getInsurance() {
        return insurance;
    }

    public void setInsurance(String insurance) {
        this.insurance = insurance;
    }

    @Length(min=0, max=64, message="职业类别长度必须介于 0 和 64 之间")
    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    @Length(min=0, max=64, message="婚姻状况长度必须介于 0 和 64 之间")
    public String getMarried() {
        return married;
    }

    public void setMarried(String married) {
        this.married = married;
    }

    @Length(min=0, max=64, message="姓名长度必须介于 0 和 64 之间")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Length(min=0, max=64, message="名族长度必须介于 0 和 64 之间")
    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    @Length(min=0, max=1, message="性别长度必须介于 0 和 1 之间")
    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Length(min=0, max=3, message="年龄长度必须介于 0 和 3 之间")
    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    @Length(min=0, max=4, message="所在地区类型长度必须介于 0 和 4 之间")
    public String getAreaType() {
        return areaType;
    }

    public void setAreaType(String areaType) {
        this.areaType = areaType;
    }

    @Length(min=0, max=4, message="证件类型长度必须介于 0 和 4 之间")
    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    @Length(min=0, max=255, message="头像图片路径长度必须介于 0 和 255 之间")
    public String getHeadPath() {
        return headPath;
    }

    public void setHeadPath(String headPath) {
        this.headPath = headPath;
    }

    @Length(min=0, max=100, message="详细地址长度必须介于 0 和 100 之间")
    public String getAreaDetail() {
        return areaDetail;
    }

    public void setAreaDetail(String areaDetail) {
        this.areaDetail = areaDetail;
    }

    @Length(min=0, max=200, message="健康记录显示长度必须介于 0 和 200 之间")
    public String getHealthshow() {
        return healthshow;
    }

    public void setHealthshow(String healthshow) {
        this.healthshow = healthshow;
    }

    public String getMyhistory() {
        return myhistory;
    }

    public void setMyhistory(String myhistory) {
        this.myhistory = myhistory;
    }

    public String getMyfamilyhistory() {
        return myfamilyhistory;
    }

    public void setMyfamilyhistory(String myfamilyhistory) {
        this.myfamilyhistory = myfamilyhistory;
    }

    public String getMyvaccinehistory() {
        return myvaccinehistory;
    }

    public void setMyvaccinehistory(String myvaccinehistory) {
        this.myvaccinehistory = myvaccinehistory;
    }

    public String getMyplayhistory() {
        return myplayhistory;
    }

    public void setMyplayhistory(String myplayhistory) {
        this.myplayhistory = myplayhistory;
    }

    @Length(min=0, max=100, message="HIS_login_name长度必须介于 0 和 100 之间")
    public String getHisloginname() {
        return hisloginname;
    }

    public void setHisloginname(String hisloginname) {
        this.hisloginname = hisloginname;
    }

    @Length(min=0, max=1, message="药物过敏史标志长度必须介于 0 和 1 之间")
    public String getIsDrugAllergy() {
        return isDrugAllergy;
    }

    public void setIsDrugAllergy(String isDrugAllergy) {
        this.isDrugAllergy = isDrugAllergy;
    }

    @Length(min=0, max=1, message="手术史标志长度必须介于 0 和 1 之间")
    public String getIsOperHistory() {
        return isOperHistory;
    }

    public void setIsOperHistory(String isOperHistory) {
        this.isOperHistory = isOperHistory;
    }

    @Length(min=0, max=1, message="外伤史标志长度必须介于 0 和 1 之间")
    public String getIsHistoryTrauma() {
        return isHistoryTrauma;
    }

    public void setIsHistoryTrauma(String isHistoryTrauma) {
        this.isHistoryTrauma = isHistoryTrauma;
    }

    @Length(min=0, max=1, message="输血史标志长度必须介于 0 和 1 之间")
    public String getIsBloodHistory() {
        return isBloodHistory;
    }

    public void setIsBloodHistory(String isBloodHistory) {
        this.isBloodHistory = isBloodHistory;
    }

    @Length(min=0, max=1, message="遗传性疾病史标志长度必须介于 0 和 1 之间")
    public String getIsHeredDisease() {
        return isHeredDisease;
    }

    public void setIsHeredDisease(String isHeredDisease) {
        this.isHeredDisease = isHeredDisease;
    }

    public String getBirthDateStr() {
        return birthDateStr;
    }

    public void setBirthDateStr(String birthDateStr) {
        this.birthDateStr = birthDateStr;
    }
}